//
//  YKDebugManager.h
//  YK_DebugManager
//
//  Created by edward on 2021/1/11.
//  Copyright © 2021 edward. All rights reserved.
//

#import <Foundation/Foundation.h>
@class UIImage;
NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSInteger, DebugManagerVCType) {
    DebugManagerVCTypePush,
    DebugManagerVCTypePresent,
};

@interface YKDebugManager : NSObject

/// 单例
+ (instancetype)sharedInstance;

/// 创建实体
- (void)install;

/// 删除
- (void)dissMiss;

/// 如果没有设置则调用默认的mainwindow
@property(nonatomic,copy) void(^clickBlock)(void);


/// 添加自定义item
/// @param itemImage  item的图案
/// @param itemTitle item的名称
/// @param itemClickBlock  item的点击回调  其中callBack传参
+ (void)addCustomItem:(UIImage * _Nonnull)itemImage itemTitle:(NSString *)itemTitle itemClickBlock:(void(^)(void(^callBack)(UIViewController *viewController, DebugManagerVCType type, BOOL animated),void(^dissMissMain)(void)))itemClickBlock;

/// 添加顶部开关item
/// @param switchName 开关名称
/// @param switchItemNotificationName 开关缓存名称
/// @param itemClickBlock 点击item响应是否开关
+ (void)addSwitchItemDetail:(NSString * _Nonnull)switchName switchItemNotificationName:(NSString * _Nonnull)switchItemNotificationName itemClickBlock:(BOOL(^)(BOOL result))itemClickBlock;

/// 记录日志
/// @param text 日志内容
/// @warning 如果含有LogModule则会自动记录日志
+ (void)log:(NSString *)text;

@end

NS_ASSUME_NONNULL_END
